localtime(), gmtime() এবং টাইম জোন হ্যান্ডলিং

Computer Programming - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) Date এবং Time Functions (ডেট এবং টাইম ফাংশনস) |
231
231

localtime(), gmtime() এবং টাইম জোন হ্যান্ডলিং

সি প্রোগ্রামিং ভাষায় টাইম জোন হ্যান্ডলিং এবং টাইম সম্পর্কিত অপারেশন করার জন্য time.h হেডার ফাইলটি ব্যবহৃত হয়। এই হেডার ফাইলটি বিভিন্ন টাইম ফাংশন সরবরাহ করে, যার মাধ্যমে আপনি বর্তমান সময় বের করতে, টাইম জোন সম্পর্কিত কাজ করতে এবং সময়ের সঙ্গে সম্পর্কিত অপারেশন করতে পারেন। localtime() এবং gmtime() ফাংশন দুটি প্রধান ফাংশন যা টাইম সম্পর্কিত কাজ করার জন্য ব্যবহৃত হয়।

এখানে localtime(), gmtime() এবং টাইম জোন হ্যান্ডলিং সম্পর্কিত বিস্তারিত আলোচনা করা হয়েছে।


১. localtime() – লোকাল টাইমে সময় রূপান্তর

localtime() ফাংশনটি একটি time_t টাইপের মান গ্রহণ করে এবং তা লোকাল টাইম (অর্থাৎ, আপনার সিস্টেমের টাইম জোন অনুযায়ী) অনুযায়ী রূপান্তরিত করে। এটি struct tm টাইপের একটি পয়েন্টার রিটার্ন করে, যা সিস্টেমের লোকাল টাইমের বিস্তারিত তথ্য ধারণ করে।

সিঙ্কট্যাক্স:

struct tm *localtime(const time_t *time);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t rawtime;
    struct tm *timeinfo;

    time(&rawtime);  // বর্তমান সময় সংগ্রহ
    timeinfo = localtime(&rawtime);  // লোকাল টাইমে রূপান্তর

    printf("Local time and date: %s", asctime(timeinfo));  // লোকাল সময় প্রদর্শন

    return 0;
}

এখানে localtime() ফাংশনটি বর্তমান সময়কে সিস্টেমের লোকাল টাইমে রূপান্তর করেছে এবং asctime() ফাংশনটি সেই টাইমের একটি ফরম্যাটেড আউটপুট প্রদর্শন করেছে।


২. gmtime() – গ্রিনউইচ মীন টাইম (GMT) বা ইউটিসি (UTC)

gmtime() ফাংশনটি time_t টাইপের একটি মান গ্রহণ করে এবং তা গ্রিনউইচ মীন টাইম (GMT) বা কোঅর্ডিনেটেড ইউনিভার্সাল টাইম (UTC) এ রূপান্তরিত করে। এটি struct tm টাইপের একটি পয়েন্টার রিটার্ন করে, যা GMT বা UTC এর তথ্য ধারণ করে।

সিঙ্কট্যাক্স:

struct tm *gmtime(const time_t *time);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t rawtime;
    struct tm *timeinfo;

    time(&rawtime);  // বর্তমান সময় সংগ্রহ
    timeinfo = gmtime(&rawtime);  // UTC বা GMT সময়ে রূপান্তর

    printf("UTC time and date: %s", asctime(timeinfo));  // UTC সময় প্রদর্শন

    return 0;
}

এখানে gmtime() ফাংশনটি বর্তমান সময়কে UTC (গ্রিনউইচ মীন টাইম) এ রূপান্তর করেছে এবং asctime() ফাংশনটি সেই সময়ের একটি ফরম্যাটেড আউটপুট প্রদর্শন করেছে।


৩. টাইম জোন হ্যান্ডলিং

টাইম জোন সম্পর্কিত কিছু ফাংশন সি প্রোগ্রামে time.h হেডার ফাইলে পাওয়া যায়। সিস্টেমের টাইম জোন এবং সময়ের সঠিক হিসাব করার জন্য timezone, tzset(), এবং strftime() ফাংশনগুলো ব্যবহৃত হয়।

timezone এবং tzset()

timezone একটি গ্লোবাল ভ্যারিয়েবল যা সিস্টেমের লোকাল টাইম জোনের ব্যবধান (ডিফারেন্স) দেখায় GMT এর সাথে। tzset() ফাংশনটি টাইম জোনের তথ্য আপডেট করে, যা টাইম জোন সম্পর্কিত অন্যান্য ফাংশনগুলোকে সঠিকভাবে কাজ করতে সাহায্য করে।

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t rawtime;
    struct tm *timeinfo;

    time(&rawtime);  // বর্তমান সময় সংগ্রহ
    tzset();  // টাইম জোন সেট আপডেট করা

    timeinfo = localtime(&rawtime);  // লোকাল টাইমে রূপান্তর

    printf("Local time: %s", asctime(timeinfo));
    printf("Timezone offset: %ld seconds\n", timezone);  // টাইম জোনের ডিফারেন্স প্রদর্শন

    return 0;
}

এখানে timezone গ্লোবাল ভ্যারিয়েবলটি ব্যবহার করা হয়েছে টাইম জোনের ডিফারেন্স প্রদর্শনের জন্য।


৪. strftime() – সময় ফরম্যাটে রূপান্তর

strftime() ফাংশনটি একটি struct tm টাইপের সময়কে একটি স্ট্রিংয়ের ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়। এটি সময় এবং তারিখের আউটপুটকে বিশেষ ফরম্যাটে প্রিন্ট করতে ব্যবহৃত হয়।

সিঙ্কট্যাক্স:

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr);
  • str – যেখানে ফরম্যাটেড সময় রাখা হবে।
  • maxsize – স্ট্রিংটির আকার।
  • format – সময়ের ফরম্যাট।
  • timeptrstruct tm টাইপের টাইম পয়েন্টার।

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t rawtime;
    struct tm *timeinfo;
    char buffer[80];

    time(&rawtime);  // বর্তমান সময় সংগ্রহ
    timeinfo = localtime(&rawtime);  // লোকাল টাইমে রূপান্তর

    // সময়ের ফরম্যাট নির্ধারণ করা
    strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo);

    printf("Formatted time: %s\n", buffer);  // ফরম্যাটে রূপান্তরিত সময় প্রদর্শন

    return 0;
}

এখানে strftime() ফাংশনটি বর্তমান সময়কে একটি নির্দিষ্ট ফরম্যাটে রূপান্তর করেছে, যেমন: "YYYY-MM-DD HH:MM:SS"


সারসংক্ষেপ

ফাংশনকাজ
localtime()UTC সময়কে লোকাল টাইমে রূপান্তরিত করে
gmtime()লোকাল সময়কে UTC (GMT) সময়ে রূপান্তরিত করে
timezoneসিস্টেমের লোকাল টাইম জোনের ডিফারেন্স দেখায়
tzset()টাইম জোন সম্পর্কিত তথ্য আপডেট করে
strftime()struct tm টাইপের সময়কে একটি নির্দিষ্ট ফরম্যাটে রূপান্তর করে

localtime() এবং gmtime() ফাংশনগুলি সময়ের লোকাল টাইম এবং UTC সময়ে রূপান্তরের জন্য ব্যবহৃত হয়, যা বিভিন্ন সময় অঞ্চল সম্পর্কিত কাজের জন্য অত্যন্ত গুরুত্বপূর্ণ। strftime() ফাংশনটি সময়কে একটি ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়, যা ব্যবহারকারীর ইন্টারফেসে প্রয়োজনীয় আউটপুট প্রদান করতে সহায়ক।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion